/*
 * version 1.0
 * created by li at 2017.05.12
 */

(function($){
	
	/*构造函数*/
	function TabSwitch(sel, options) {
		//存储获取的选项卡展示区元素对象
		this.tab = $(sel);
		//存储房钱TabSwitch对象
		var _this = this;
		/*默认配置参数*/
		this.defaults = {
			/*预设的参数值*/
			//选项卡切换支持的触发事件类型
			type: "click",
			//切换效果
			effect:"show",
			//默认显示哪一项
			initalTab: 0,
			//是否自动切换
			autoSwitch:false
		}
		this.settings = $.extend({}, this.defaults, options);
		//获取每个选项卡按钮
		this.tabItems = this.tab.find("ul.tab-nav li");
		//获取内容区
		this.contents = this.tab.find("div.tab-content");
		//获取每项展示内容页
		this.tabContents = this.tab.find("div.tab-content div.tab-item");
		//绑定事件
		this.tabItems.on(this.settings.type, function(){
			//切换
			_this.switchover($(this));
		});
	};
	/*在原型中添加功能方法*/
	TabSwitch.prototype = {
		//切换展示页
		switchover: function(currentTab){
			//获取要切换到的页面的下标
			var index = currentTab.index();
			currentTab.addClass("active").siblings().removeClass("active");
			var contentItems = this.contentItems;
			if (this.settings.effect === "show") {
				contentItems.eq(index).show().siblings().hide();
			} else if(this.settings.effect === "fade") {
				contentItems.eq(index).fadeIn().siblings().fadeOut();
			} else if (this.settings.effect === "slide") {
				//自定义动画 修改内容区域偏移
				this.contents.animate({
					left:-index*this.tab.width()
				},1000);
			}
		}
	}
	
	/*和外界建立联系 提供给外界使用*/
	window.TabSwitch = TabSwitch;
}(jQuery));

